#pragma once

#include <iostream>
#include <fstream>
#include <string>

class Util
{
public:
    static bool ReadFileContent(const std::string &filename, std::string *out)
    {
        // version 1
        // 1 直接读取，打开文件
        std::ifstream in(filename);
        if (!in.is_open())
        {
            return false;
        }
        // 2 把所有内容当做 数据内容 直接读入
        std::string line;
        while (std::getline(in, line))
        {
            *out += line;
        }
        in.close();
        return true;
    }

    static bool ReadOneLine(std::string &bigstr, std::string *out, const std::string &sep /*\r\n*/)
    {
        // 先找到终点
        auto pos = bigstr.find(sep);
        if (pos == std::string::npos)
        {
            return false;
        }
        // 在想 目标流 添加第一行内容
        *out += bigstr.substr(0, pos);
        // 删除整体内容的第一行 + sep   
        bigstr.erase(0, pos + sep.size());
        return true;
    }
};